17. Letter Combinations of a Phone Number - LeetCode Solution


String Backtracking Recursion

Python Code:

class Solution:
    def letterCombinations(self, digits: str) -> List[str]:
        
        arr = ["asdf", "as", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"]
        ans = []


        def trav(t, i, string):


            if i == len(t):
                ans.append(string)
                return

            h = arr[int(t[i])]

            for j in range(len(h)):
                trav(t, i + 1, string + h[j])


        trav(digits, 0, "")
        
        if ans[0] == "":
            return []
        return ans


Comments

Submit
0 Comments
More Questions

768A - Oath of the Night's Watch
156C - Cipher
545D - Queue
459B - Pashmak and Flowers
1538A - Stone Game
1454C - Sequence Transformation
165B - Burning Midnight Oil
17A - Noldbach problem
1350A - Orac and Factors
1373A - Donut Shops
26A - Almost Prime
1656E - Equal Tree Sums
1656B - Subtract Operation
1656A - Good Pairs
1367A - Short Substrings
87A - Trains
664A - Complicated GCD
1635D - Infinite Set
1462A - Favorite Sequence
1445B - Elimination
1656C - Make Equal With Mod
567A - Lineland Mail
1553A - Digits Sum
1359B - New Theatre Square
766A - Mahmoud and Longest Uncommon Subsequence
701B - Cells Not Under Attack
702A - Maximum Increase
1656D - K-good
1426A - Floor Number
876A - Trip For Meal